<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition template="/admin/index.xhtml" xmlns="http://www.w3.org/1999/xhtml"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:p="http://primefaces.org/ui"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:f="http://xmlns.jcp.org/jsf/core">

    <ui:define name="area-util">
        <p:panel header="Relatórios" style="margin-bottom:10px;">
            <h:form id="top">
                <p:growl id="messages" showDetail="true" globalOnly="true"/>
            </h:form>
            <h:form id="frminfo">
                <p:growl id="messages" showDetail="true" globalOnly="true"/>
                <h:panelGrid columns="4" style="margin-bottom:10px" cellpadding="5">      
                    <h:outputLabel value="Cliente:" for="cliente"/>
                    <p:selectOneMenu id="cliente" value="#{relatoriosBean.cliente}" converter="clienteConverter" class="nomeCliente"
                                     required="true" requiredMessage="Cliente requerido!">
                        <f:selectItem itemLabel="Selecione o cliente" itemValue="" noSelectionOption="true"/>
                        <f:selectItems value="#{relatoriosBean.clientes}" var="cliente" itemLabel="#{cliente.nome}" itemValue="#{cliente}"/>
                        <p:ajax update=":frmlist:listagem msgCliente"/>
                    </p:selectOneMenu>
                    <p:message id="msgCliente" for="cliente"/>
                    <h:outputText/>

                    <h:outputLabel value="Mês:" for="cliente"/>
                    <p:selectOneMenu id="mes" value="#{relatoriosBean.mes}"
                                     required="true" requiredMessage="Mês requerido!">
                        <f:selectItem itemLabel="Selecione o mês" itemValue="" noSelectionOption="true"/>
                        <f:selectItems value="#{relatoriosBean.meses}"/>
                        <p:ajax update=":frmlist:listagem msgMes"/>
                    </p:selectOneMenu>
                    <p:message id="msgMes" for="mes"/>
                    <h:outputText/>

                    <h:outputLabel value="Ano:" for="ano"/>
                    <p:inputText id="ano" value="#{relatoriosBean.ano}"
                                 required="true" requiredMessage="Ano requerido!" validatorMessage="Ano inválido!">
                        <f:validateRegex pattern="([0-9]){4,4}"/>
                    </p:inputText>
                    <p:commandButton value="Atualizar" update=":frmlist:listagem msgAno"/>
                    <p:message id="msgAno" for="ano"/>
                </h:panelGrid>
                <h:outputLabel value="Exportar para: " for="xls pdf"/>
                <p:commandButton value="Excel(*.xls)" id="xls" ajax="false">
                    <p:dataExporter type="xls" target=":frmlist:listagem" fileName="relatorio_#{relatoriosBean.cliente.nome}_#{relatoriosBean.mes}_#{relatoriosBean.ano}"/>
                </p:commandButton>
            </h:form>
        </p:panel>

        <h:form id="frmlist">
            <p:dataTable id="listagem" var="parametro" value="#{relatoriosBean.cliente.parametros}" scrollable="true" scrollHeight="240">
                <p:column headerText="Parâmetro">
                    <h:outputText value="#{parametro.nome}" class="nomeParametro" />
                </p:column>
                <p:column headerText="Resultado">
                    <h:outputText value="#{relatoriosBean.resultado(parametro)}"/>
                </p:column>
                <p:column headerText="Unidade de medida">
                    <h:outputText value="#{parametro.unidadeMedida}" />
                </p:column>
            </p:dataTable>   
        </h:form>
    </ui:define>

</ui:composition>